package com.example.shopcardemo;

import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.view.View;
import android.view.ViewGroup;

public class UiUtils {

	/**
	 * 获得应用的上下文对象
	 * @return
	 */
	public static Context getContext(){
		return BaseApplication.getContext();
	}
	/**
	 * 布局XML文件转换为View
	 * 注意：布局文件的Root节点属性不包含。
	 * @param resId
	 * @return
	 */
	public static View inflate(int resId){
		return View.inflate(getContext(), resId, null);
	}
	/**
	 * 布局XML文件转换为View
	 * 注意：布局文件的Root节点属性包含。
	 * @param resId
	 * @return
	 */
	public static View inflate(int resId ,ViewGroup root){
		return View.inflate(getContext(), resId, root);
	}
	/**
	 * 用Id找到资源颜色
	 * @param id
	 * @return
	 */
	public static ColorStateList getResourcesColor(int id){
		return getResources().getColorStateList(id);
	}
	/**
	 * 获得资源对象
	 * @return
	 */
	public static Resources getResources(){
		return getContext().getResources();
	}
	/**
	 * 获得资源id的String
	 * @param resId
	 * @return
	 */
	public static String getString(int resId){
		return getResources().getString(resId);
	}
	/**
	 * 获得资源id的String
	 * @param resId
	 * @param formatArgs
	 * @return
	 */
	public static String getString(int resId,Object...formatArgs){
		return getContext().getString(resId, formatArgs);
	}
	/**
	 * 获得资源id的String数组
	 * @param resId
	 * @return
	 */
	public static String[] getStrings(int resId){
		return getResources().getStringArray(resId);
	}

	/*  
	    手机的像素密度跟文档中的最接近值
		1dp = 0.75px
		1dp = 1px
		1dp = 1.5px
		1dp = 2px
		1dp = 3px
	 */

	public static int dip2px(int dip){
		//获取dip和px的比例关系
		float d = getResources().getDisplayMetrics().density;
		// (int)(80.4+0.5)   (int)(80.6+0.5)
		return (int)(dip*d+0.5);
	}

	public static int px2dip(int px){
		float d = getResources().getDisplayMetrics().density;
		return (int)(px/d+0.5);
	}
	

}
